Package Pricing Events Lifecycle Guide

This brief guide describes a representative, sample lifecycle for package pricing events. Packages bundle financial products together, and banks can setup specific pricing and benefits for such packages. While not all possible events are explored, this guide will give you a good overview on both outgoing events and some of the incoming events involved in package pricing.

Note: Design time APIs are not covered by this guide.

Outgoing Events

The outgoing events are TEP (Temenos Enterprise Pricing) response events from packages. TEP performs pricing evaluation for package arrangement and pass a detailed outward response. The following are the outgoing event types supported by packages.

 

Event Type

Description

Activity Pricing

Responds to all activity-based package pricing.

Periodic Pricing

Responds to all scheduled charges defined in package pricing.

Lifecycle Diagram

Legend

TEP API example

The API URL that's used to carry out this business process.

API action

API request (typically, a command to perform an operation).

TEP Event Example The event type that's emanated. 
Event Business event emanating after the process is completed by the system. 
Business process Business process in the system.
End of business process Completion of the business process in the system. 

Tip: Click diagram to expand.

Package Pricing Events Lifecycle Diagram

 

Activity Pricing

An activity pricing event is an outgoing event from TEP that communicates the details of an activity charges evaluation. The user can define the event name in an activity and charges based on the activity. This indicates that a fee could be charged for any event name. The outgoing event contains information on the original and final charge, after application of pricing benefits.

API
The API that is used to evaluate activity charges.

POST /enterprise/pricing/arrangements/{basereference}/activityCharges

 

Event
The event that's emanated at activity charges evaluation.

enterprise.calculateActivityPricing.activityPricingCalculated

 

Event Payload

contractReference

Indicates the account Id in which the event is raised.

eventName

Indicates the name of the event that was used for processing by the TEP system.

baseEventIdentifier Indicates the name of the event happening in the core system. TEP uses this detail for information purpose and returns the same in the outbox events for adapters to match up.
effectiveDate Indicates the event date. 
bookingDate Indicates the date on which this business activity is performed in the underlying system.  
channel Indicates the channel in which the activity was performed.  
branch Indicates the branch name or code in which the business activity was performed.  
lineOfBusiness Indicates the line of business in which the activity was performed.  
systemReference Identifies the system to which the event is outgoing.  
companyReference Identifies the underlying entity, company, or branch.  
transactionReference Indicates the identifier of the original transaction reference. This is the transaction reference provided by the core banking system, through the incoming message, which is also included in the outgoing (from the TEP) response, so that the core can reconcile. 
chargeCurrency Indicates the identifier for the currency in which charge is calculated. 
processingReference Indicates the TEP reference used to process this pricing calculation. This detail is for information purpose to relate back to the computation or query from core systems or front office.  
feeName Name of the fee that's applied to the transaction reference.  
feeDescription Describes the fee that's applied to the transaction reference.  
originalFee Indicates the standard fee amount applied before pricing evaluation.  
feeAdjusted Total signed adjustment amount.  
finalFee Final fee after pricing evaluation.  
feeType Indicates if the fee is a debit or credit type of charge. A debit charge indicates the fee that is due from the customer. A credit indicates the fee is to be given to the customer, that is cash back.  
feeApplicationType Indicates whether the fee is to be made due, paid, or capitalised.  
benefitType Indicates the identifier for the name of the benefit(s) passed on to the customer or party.  
benefitProgram Indicates the pricing program under which benefit is offered.  
benefitAmount Indicates the quantum of benefit for a given benefit type.  
activityName Indicates the activity which was used by TEP to arrive at the fee calculation.  
Sample Code: Activity Pricing Event

{
  "specversion": "BBBBBBB",
  "type": "AAAAAAAAA",
  "subject": "DDDDDDDD",
  "source": "eeeee",
  "id": "bbbbbbb",
  "time": "BBBBB",
  "correlationid": "cccccc",
  "serviceid": "ee",
  "channelid": "cc",
  "organizationid": "bbbbbbbb",
  "tenantid": "cccccc",
  "businesskey": "DDDDDDDDD",
  "sequenceno": 1,
  "authorization": "ccccccccc",
  "customfilterid": "eee",
  "operationinstanceid": "ccc",
  "sequenceinstanceid": "e",
  "priority": 1,
  "data": {
		"chargeCurrency": "DDDDDD",
	    "processingReference": "CCCC",
		"activityName": "ee",
    
    "baseContractDetails": [
      {
        "contractReference": "DDDDDD",
        "systemReference": "CCCC",
        "companyReference": "BBBBB",
        "eventName": "",
        "baseEventIdentifier": "b",
        "effectiveDate": "ddddddddd",
        "bookingDate": "EEEE",
        "contractCurrency": "AAAAAA",
        "channel": "BBBBBBBB",
        "branch": "eeeeee",
        "lineOfBusiness": "CCCCCCCC",
        "transactionReference": "ddddd",
        "reversalIndicator": false,
        "variation": "",
              "party": [
          {
            "party": "DDDDDDD",
            "partyRole": "",
           
          }
        ],
        "eligibility": [
          {
            "variation": "cccccccc",
            "actionContext": "A",
            "failureType": "A",
                     }
        ],
		 "eligibilityRule": [
          {
            "ruleName": "cccccccc",
            "customerRole": "AAAA",
			 "roleRuleName": "BBBBB",
			  "failureAction": "CCCCC",
            
                     }
        ]
      }    ,
   
    "feeProcessDetails": {[
      {
        "feeName": "eeeeeeeee",
        "feeDescription": "CCCCC",
		"originalFee": "cccccccc",
            "feeAdjusted": "AAAA",
			 "finalFee": "BBBBB",
			  "feeType": "CCCCC",
			  "feeApplicationType": "CCCCC",
			  "benefitDetails": [
          {
            "benefitProgram": "cccccccc",
            "benefitType": "AAAA",
			 "benefitAmount": "BBBBB",
			 
            
                     }
        ],
		  "individualFeeDetails": [
          {
            "baseFeeName": "cccccccc",
            "baseFeeDescription": "AAAA",
			 "baseFeeAmount": "BBBBB",
			  "baseFeeAdjustment": "cccccccc",
            "baseFeeNetAmount": "AAAA",
			
			 
            
                     }
        ]
      }
    ],
  
  }
}
}
  



Periodic Pricing

A periodic pricing event is an outgoing event from TEP to communicate the details of scheduled charge evaluation for a package arrangement. The outgoing event contains information on the original and final charge, after application of pricing benefits.

API
The API that's used to evaluate periodic charges.

POST/ enterprise/pricing/arrangements/{basereference}/periodicCharges

 

Event
The event that's emanated at periodic charges evaluation.

enterprise.calculatePeriodicPricing.periodicPricingCalculated

 

Event Payload

contractReference Unique identifier for the contract or account in which the event is raised.
eventName Name of the event that was used for processing by the TEP system.
baseEventIdentifier Name of the event happening in the core system. TEP uses this detail for information purpose and returns the same in the outbox events for adapters to match up.
effectiveDate Effective date for the event.
bookingDate Date on which this business activity is performed in the underlying system.
channel Channel in which the activity was performed. If pricing is not determined based on channel, then this information is not significant.
branch Indicates the branch name or code in which the business activity was performed. If pricing is not determined based on the branch, this information is not significant.
lineOfBusiness Line of business in which the activity was performed. If pricing is not determined based on LOB, this information is not significant.
systemReference Indicates the identifier of the system to which the event is outgoing.
companyReference Indicates the identifier of the underlying entity, company, or branch.
transactionReference Identifies the transaction.
periodStartDate Date which the system used as the start date for computing the period.
chargeCurrency Indicates the identifier for the currency in which charge is calculated.
feeName Name of the underlying fee(s).
feeDescription Describes the underlying fee(s).
originalFee Standard fee amount applied before pricing evaluation.
feeAdjusted Total signed adjustment amount.
finalFee Final debit or credit fee. Minus ( - ) sign represents a debit charge or fees recoverable from the party. No sign represents a credit charge, cost or bonus payable to the party.
feeType Indicates whether it's a debit or credit type charge.
feeApplicationType Indicates whether the fee is to be made due, paid, or capitalised.
benefitType Indicates the identifier for the name of the benefit(s) passed on to the customer or party. For example, southern region, account package, mobile channel, and so on.
benefitProgram Pricing program under which the benefit is offered.
benefitAmount Indicates the quantum of benefit for a given benefit type.
baseFeeName Identifies the itemised charge.
baseFeeDescription Describes the itemised charge.
baseFeeAmount Computed original base fee amount.
baseFeeAdjustment Total signed adjustment amount.
baseFeeNetAmount Indicates the final base fee amount after including the adjustment.
Sample Code: Periodic Pricing Event

{
  "specversion": "BBBBBBB",
  "type": "AAAAAAAAA",
  "subject": "DDDDDDDD",
  "source": "eeeee",
  "id": "bbbbbbb",
  "time": "BBBBB",
  "correlationid": "cccccc",
  "serviceid": "ee",
  "channelid": "cc",
  "organizationid": "bbbbbbbb",
  "tenantid": "cccccc",
  "businesskey": "DDDDDDDDD",
  "sequenceno": 1,
  "authorization": "ccccccccc",
  "customfilterid": "eee",
  "operationinstanceid": "ccc",
  "sequenceinstanceid": "e",
  "priority": 1,
  "data": {
	   "periodStartDate": "CCCC",
	  
		"chargeCurrency": "DDDDDD",
	  
    
    "baseContractDetails": [
      {
        "contractReference": "DDDDDD",
        "systemReference": "CCCC",
        "companyReference": "BBBBB",
        "eventName": "",
        "baseEventIdentifier": "b",
        "effectiveDate": "ddddddddd",
        "bookingDate": "EEEE",
        "contractCurrency": "AAAAAA",
        "channel": "BBBBBBBB",
        "branch": "eeeeee",
        "lineOfBusiness": "CCCCCCCC",
        "transactionReference": "ddddd",
        "reversalIndicator": false,
        "variation": "",
              "party": [
          {
            "party": "DDDDDDD",
            "partyRole": "",
           
          }
        ],
        "eligibility": [
          {
            "variation": "cccccccc",
            "actionContext": "A",
            "failureType": "A",
                     }
        ],
		 "eligibilityRule": [
          {
            "ruleName": "cccccccc",
            "customerRole": "AAAA",
			 "roleRuleName": "BBBBB",
			  "failureAction": "CCCCC",
            
                     }
        ]
      }    ,
   
    "feeProcessDetails": {[
      {
        "feeName": "eeeeeeeee",
        "feeDescription": "CCCCC",
		"originalFee": "cccccccc",
            "feeAdjusted": "AAAA",
			 "finalFee": "BBBBB",
			  "feeType": "CCCCC",
			  "feeApplicationType": "CCCCC",
			  "benefitDetails": [
          {
            "benefitProgram": "cccccccc",
            "benefitType": "AAAA",
			 "benefitAmount": "BBBBB",
			 
            
                     }
        ],
		  "individualFeeDetails": [
          {
            "baseFeeName": "cccccccc",
            "baseFeeDescription": "AAAA",
			 "baseFeeAmount": "BBBBB",
			  "baseFeeAdjustment": "cccccccc",
            "baseFeeNetAmount": "AAAA",
			
			 
            
                     }
        ]
      }
    ],
  
  }
}
}
  


Incoming Events

The following are the incoming API and the event types supported by TEP.

Incoming APIs

Event Type Description Processing API
Create Package Arrangement New package arrangement created in TEP. POST/enterprise/pricing/arrangements/packages
Amend Package Arrangement Amend a package arrangement in TEP. PUT/enterprise/pricing/arrangements/packages/{packageReference}
Delete Package Arrangement Delete a package arrangement in TEP. DELETE/ enterprise/pricing/arrangements/packages/{packageReference}

Incoming Event Payload

Event Payload

lineOfBusiness Line of business in which the activity was performed. If pricing is not determined based on LOB, this information is not significant.
transactionReference Identifies the transaction.
reversalIndicator Indicates whether the underlying transaction is reversed and the same can be reversed from the TEP system as well.
packageproductName Identifies the associated package product.
party Identifies the party or customer.
partyRole Identifies the role played by the party or customer in the account.
baseProductName Identifies the base product.
baseCurrency Identifies the currency used in the base product.
Sample Code: Package Pricing Incoming Event Payload

{
  "baseDetails": {
    "systemReference": "string",
    "companyReference": "string",
    "baseEventIdentifier": "string",
    "effectiveDate": "string",
    "currency": "string",
    "channel": "string",
    "branch": "string",
    "lineOfBusiness": "string",
    "transactionReference": "string",
    "reversalIndicator": true
  },
  "packageProductName": "string",
  "party": [
    {
      "partyReference": "string",
      "partyRole": "string"
    }
  ],
  "packageDetails": [
    {
      "baseProductName": "string",
      "baseCurrency": "string",
      "baseReferenceId": "string",
      "baseSystemReference": "string",
      "primary": true
    }
  ]
}